<?php
	include_once '../../include/inc_session.php';	
	

	$idContrat = $_GET['idc'];
	$oContrat  = ($_GET['idc']=='') ? new dataObject_contrat() : new dataObject_contrat($idContrat);
	$sCONTRAT_NUM = (isset($_POST['ONN_num_contrat'])) ? $_POST['ONN_num_contrat'] : $oContrat->_NUMERO;
	
	if(isset($_GET['retour']) && $_GET['retour']==1)
	{
		 //1-fournir les conditions d’indemnisation de la garantie souscrite de type « justificatif »
		
		$oSinistre = new dataObject_sinistre($_SESSION['idsinistre']);
		$oJustif   = new dataObject_justificatif();
		$idContrat = $oSinistre->_IDENTIFIANT_CONTRAT;
		
		$asJust    = $oJustif->justificatif_getListPieceManquante($_SESSION['idsinistre']);
		if($oSinistre->_TYPE_SINISTRE == 'D')
	 			$sAutreCode = 'CIN';
	 	else $sAutreCode = 'CD';
	 	foreach($asJust as $i => $aRow)
 		{
	 		if($aRow['Code_condition_indemnisation']== $sAutreCode)
	 		{
	 			unset($asJust[$i]);
	 			$asJust = array_values($asJust);
	 		}
 		}	
		if(empty($asJust)) //2 – si à chacune des conditions d’indemnisation correspond un justificatif, passer l’état du sinistre à A (à transmettre)
			 $oSinistre->_ETAT_SINISTRE = 'A'; 
		
		//3 – modifier le sinistre, en cas d’erreur technique, afficher le message d'erreur
		$bMaj = $oSinistre->sinistre_update();
		$msg = '';
		if($bMaj===false)
		{
			$oForm->ajouterErreur(pbm_modification_sinistre);
			$msg = 'msg=pbmSinistre';
		}
		//4- créer un évènement de type sinistre, sous type complément justificatifs
		$oEvent = new dataObject_evenement();

		$oEvent->_TYPE_EVENT 		= 'S';
		$oEvent->_SOUS_TYPE_EVENT 	= 'SJ';
		$oEvent->_MOTIF_EVENT 		= '';
		$oEvent->_REFERENCE_EVENT 	= '';
		$oEvent->_DATE_EVENT 			= date('Y-m-d');
		$oEvent->_IDENTIFIANT_AGENT 	= $_SESSION['iduser'];
		$oEvent->_IDENTIFIANT_SINISTRE 	= $_SESSION['idsinistre'];
		$oEvent->_IDENTIFIANT_CONTRAT 	= $idContrat;
		$oEvent->_IDENTIFIANT_PERSONNE 	= $oSinistre->_IDENTIFIANT_PERSONNE;
		$oEvent->_IDENTIFIANT_ECHEANCE 	= '';
		$oEvent->_IDENTIFIANT_PRESTATION = '';
		$idEvent = $oEvent->evenement_insert();
		if(!$idEvent)
		{
			$oForm->ajouterErreur(pbm_cre_event_justif_sinistre);
			$msg = 'msg=pbmEventSinistre';
		}
		header("location:../../menu.php?".$msg);
	}
	// Construction de l’objet Template
	$oPaj= new Template(PATH_TEMPLATE.'tpl_sinistres.html');
	
	// Construction du formulaire
	$asInputs = array(array('label_input'=>'N° CONTRAT ','input_name'=>'ONN_num_contrat', 'input_value'=> $sCONTRAT_NUM, 'maxlength'=>'20', 'class'=>'resize_2')); 
	   					  
	$oPaj->iterateReplace('champ_input', $asInputs);
	// Entête du tableau listant les sinistres sur le contrat
	$aEnteteTab = array(
						array("num_colonne"=>2, "nom_colonne"=>"TYPE SINISTRE"),
						array("num_colonne"=>3, "nom_colonne"=>"DATE SURVENANCE"),
						array("num_colonne"=>4, "nom_colonne"=>"NOM"),
						array("num_colonne"=>5, "nom_colonne"=>"PRENOM")
					    );
					    
	$oPaj->iterateReplace('colonne', $aEnteteTab );
	//
	if($gbFormValid || isset($_GET['idc']) ) //données du formulaire validées, on fait la mise à jour
	{	
		// Variable pour tester l'existence du contrat
		$Exist = $oContrat->contrat_searchNumero($sCONTRAT_NUM);
		
		
		// Récupération de l'identifiant du contrat
		$idContrat = $oContrat->contrat_getIdFromNumContrat($sCONTRAT_NUM);
	
		//Récupération de la liste des sinistre declarés du contrat
		$oSinistre = new dataObject_sinistre();
		//$asBlocs = $oSinistre->sinistre_getListSinistreDeclare($idContrat); FS 30-11-2010
		$asBlocs = $oSinistre->sinistre_getSinistreDeclareSurPersonne($idContrat);
		
		// Affichage msg d'err si contrat inexistant dans la base
		if(!$Exist)
		{
			$oForm->ajouterErreur(contrat_inexistant_old);
		}
		else
		{

			// Affichage des sinistres Déclaré du contrat (état à A) 
			$aList = array();
				
			foreach($asBlocs as $iKey => $aRow)
			{
				$sTypeSinistre = dataObject_elementdico::elementdico_getNomFromCode( $aRow["Type_sinistre"], dataObject_dictionnaire::TYPE_SINISTRE);
					
				$aCorps = array("id_ligne"=> $aRow["Identifiant_sinistre"].'&id='.$aRow["Identifiant_personne"].'&typass='.$aRow["Type_assure"]);
				if(($iKey+1)%2==0) $aCorps = array_merge($aCorps, array("color"=> "color"));
			
				$aCorps = array_merge($aCorps, array("num_colonne_2"=>2, "val_ligne_2"=> $sTypeSinistre));
		
						
			$aCorps = array_merge($aCorps, array("num_colonne_3"=>3, "val_ligne_3"=> dataObject_sinistre::showDate($aRow["Date_survenance_sinistre"])));
			$aCorps = array_merge($aCorps, array("num_colonne_4"=>4, "val_ligne_4"=>$aRow["Nom_personne"]));
        	$aCorps = array_merge($aCorps, array("num_colonne_5"=>5, "val_ligne_5"=> $aRow["Prenom_personne"]));
					
					$aList[$iKey] =  $aCorps;
				}
			
				$oPaj->iterateReplace('tablist', $aList);
			
		}	
			
		
	}

	// var_dump($_SESSION[iduser]);

	$oPaj->replace('nom_module', $oBloc->_MENU_NOM);
	$oPaj->replace('nom_fonction', $oFonction->_MENU_AFFICHE);
	$oPaj->replace('nom_liste',"Liste des sinistres");
	$oPaj->replace('edit_action', $sEditFormAction);
	$oPaj->replace('num_contrat', $sCONTRAT_NUM);
	$oPaj->replace('url_completer','justificatifs_sinistre.php?idbloc='.$oBloc->_MENU_ID.'&idfonction='.$oFonction->_MENU_ID.'&idc='.$idContrat.'&sin=');
	$oPaj->replace('bRetour_fonction', true);
	//$oPaj->replace('url_retour_fonction', '../../menu.php');
	$oPaj->replace('url_retour_fonction', 'index.php?retour=1');
	$oPaj->replace('url_synthese','../declaration/synthese_sinistre.php?idbloc='.$oBloc->_MENU_ID.'&idfonction='.$oFonction->_MENU_ID.'&idc='.$idContrat.'&sin=');
	
	$oPaj->iterateReplace('messages', $oForm->getValidMessage());
	
	/***** affichage de la page ainsi parametrée *****/
	echo $oPaj->toString();
	
	include_once PATH_INCLUDE.'inc_pied_page.php';
?>